﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TileNotificationsPack
{
   /// <summary>
   /// Specifies template bindings.
   /// </summary>
   /// <remarks>See reference documentation at <see cref="http://msdn.microsoft.com/library/windows/apps/br212854.aspx"/></remarks>
   public class TileBinding
   {
      /// <summary>
      /// The target locale of the XML payload, specified as a BCP-47 language tags such as "en-US" or "fr-FR". The locale specified here overrides that in visual, but can be overriden by that in text. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string.
      /// </summary>
      public string Language { get; set; }

      /// <summary>
      /// A default base URI that is combined with relative URIs in image source attributes.
      /// </summary>
      public string BaseUri { get; set; }

      /// <summary>
      /// The form that the tile should use to display the app's brand.
      /// </summary>
      public TileBranding? Branding { get; set; }

      /// <summary>
      /// Set to true to allow Windows to append a query string to the image URI supplied in the tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language; for instance, a value of "www.website.com/images/hello.png" included in the notification becomes "www.website.com/images/hello.png?ms-scale=100&ms-contrast=standard&ms-lang=en-us"
      /// </summary>
      public bool? ImageQuery { get; set; }

      /// <summary>
      /// Set to a sender-defined string that uniquely identifies the content of the notification. This prevents duplicates in the situation where a large tile template is displaying the last three wide tile notifications.
      /// </summary>
      public string ContentId { get; set; }
   }
}
